Businesses typically transmit data using radio communications and telephonic communications. This data may be related to the operations of the business or businesses and should be kept secret. Data transmitted in this manner can be received by competitors of the intended party and used for the competitor's gain and/or the intended party's detriment.
One solution to this problem is to encrypt the data before transmission and decrypt the data after reception. The encryption is typically done with an encryption circuit using a key and polynomial that manipulates the data. An example of an encryption circuit is illustrated in FIG. 1. The data to be encrypted is clocked through the shift registers serially. Certain shift register outputs are fed back to be logically exclusive OR'ed with the output of the previous stage. The polynomial is determined by which stages are fed back. The key determines the initial state of the shift register. The output of the circuit is the encrypted data that is a representation of the original data but gives no indication as to the original data. When the encrypted data is received, it is typically decrypted using the same circuit and therefore the same key and polynomial used to encrypt the data.
Ideally, only the intended party will have the key and polynomial used to encrypt the data and therefore have the ability to decrypt the data. Because the polynomial doesn't change, however, a competing party with the knowledge and facilities for breaking the code has plenty of time to decipher it. An additional problem is that if the polynomial is changed by moving the feedback paths, the data with the shift registers must be shifted out using the old encryption before the new encryption can begin. Also, the serial shifting of data to be encrypted creates a delay between the time the data is input to the circuit to the time it is output as encrypted data. This creates a need for an encryption circuit with substantially zero delay that uses programmable keys and polynomials to make decryption more difficult for unintended parties.